home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
051-075
/
disk_055
/
vt100
/
newbindings.asm
< prev
next >
Wrap
Assembly Source File
|
1992-05-06
|
4KB
|
127 lines
************************************************************************
* NewBindings.ASM
*
* This assembly file contains binding routines for the new gadget functions
* provided in V1.2 of AmigaDOS. You can use these binding routines
* if you have an old version of C compiler, for instance Manx V3.20A
* ( Though with a couple minor changes it can be used with the old
* MetaComco Assember and Lattice C V3.03 )
************************************************************************
LIB_VERSION equ $14
_LVOActivateGadget equ -$1CE
_LVOActivateWindow equ -$1C2
_LVOAddGList equ -$1B6
_LVORefreshGList equ -$1B0
_LVORemoveGList equ -$1BC
_LVOGetScreenData equ -$1AA
_LVOAreaEllipse equ -$BA
public _ActivateGadget
public _ActivateWindow
public _AddGList
public _RefreshGList
public _RemoveGList
public _GetScreenData
public _AreaEllipse
public _IntuitionBase
public _GfxBase
*************************************************************************
* ActivateGadget(&gadget, p_window, p_requester);
* BOOLEAN return true on sucess
*************************************************************************
_ActivateGadget:
movem.l A2/A6,-(sp) * A6 isn't mandatory w/Manx
movem.l 12(sp),A0-A2 * ( but if you toss, adjust to 8! )
move.l _IntuitionBase,A6
cmp #32,LIB_VERSION(A6) * SPECIAL TEST FOR LEGIT V1.2
ble nicht1
jsr _LVOActivateGadget(A6)
nicht1: movem.l (sp)+,A2/A6
rts
************************************************************************
* ActivateWindow(p_wind);
*
************************************************************************
_ActivateWindow:
move.l 4(sp),A0
move.l A6,-(sp) * Not necessary w/Manx
move.l _IntuitionBase,A6
cmp #32,LIB_VERSION(A6) * SPECIAL TEST FOR LEGIT V1.2
ble nicht2
jsr _LVOActivateWindow(A6)
nicht2: move.l (sp)+,A6
rts
*************************************************************************
* AddGList( &gad, p_wind, position, number)
* Return value is actual position inserted
*************************************************************************
_AddGList:
movem.l 4(sp),A0/A1
movem.l 12(sp),D0/D1
move.l A6,-(sp) * Nicht Manx
move.l _IntuitionBase,A6
jsr _LVOAddGList(A6)
move.l (sp)+,A6
rts
*************************************************************************
* RefreshGList( &gad, p_wind, p_requester, number )
*
*************************************************************************
_RefreshGList:
movem.l A2/A6,-(sp)
movem.l 12(sp),A0-A2
move.l $18(sp),D0
move.l _IntuitionBase,A6
jsr _LVORefreshGList(A6)
movem.l (sp)+,A2/A6
rts
*************************************************************************
* RemoveGList( &gad, p_wind, number);
*************************************************************************
_RemoveGList:
movem.l 4(sp),A0-A1
move.l 12(sp),D0
move.l A6,-(sp) * Toss w/Manx
move.l _IntuitionBase,A6
jsr _LVORemoveGList(A6)
move.l (sp)+,A6
rts
*************************************************************************
* AreaEllipse( p_rast, xcenter, ycenter, xdel, ydel);
* (?) Returns 0 if no error a_la_AreaDraw()
*************************************************************************
_AreaEllipse:
movem.l D2/D3/A6,-(sp)
move.l 16(sp),A1
movem.l 20(sp),D0-D3
move.l _GfxBase,A6
jsr _LVOAreaEllipse(A6)
movem.l (sp)+,D2/D3/A6
rts
*************************************************************************
* GetScreenData( p_buffer, buffsize, type, p_somescreen);
*
* Where p_buffer is a data area, sizeof(buffsize) which is
* sizeof (struct Screen). type is WBENCHSCREEN or CUSTOMSCREEN
* if type = CUSTOM, p_somescreen is the customscreen
* Returns buffer containing a cloned_data for the screen requested
*************************************************************************
_GetScreenData
move.l 4(sp),A0
movem.l 8(sp),D0/D1/A1
move.l A6,-(sp) * Gonzo Manx_a_mania
move.l _IntuitionBase,A6
jsr _LVOGetScreenData(A6)
move.l (sp)+,A6
rts